
const tokens = {
  admin: {
    token: 'admin-token'
  },
  editor: {
    token: 'editor-token'
  }
}

const users = {
  'admin-token': {
    roles: ['admin'],
    // roles: {
    //   "staffAdmin": { // 员工管理
    //     add: 1, // 添加权限
    //     mod: 1, // 修改权限
    //     del: 1, // 删除权限
    //   },
    //   "branchAdmin": { // 部门管理
    //     add: 1, // 添加权限
    //     mod: 1, // 修改权限
    //     del: 1, // 删除权限
    //   },
    //   "shopAdmin": { // 店铺管理
    //     add: 1, // 添加权限
    //     mod: 1, // 修改权限
    //     del: 1, // 删除权限
    //   },
    //   "tableAdmin": { // 餐桌管理
    //     add: 1, // 添加权限
    //     mod: 1, // 修改权限
    //     del: 1, // 删除权限
    //   },
    // },
    introduction: 'I am a super administrator',
    avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
    name: 'Super Admin'
  },
  'editor-token': {
    roles: ['admin'],
    roles: {
      "staffAdmin": { // 员工管理
        add: 1, // 添加权限
        mod: 1, // 修改权限
      },
      "branchAdmin": { // 部门管理
        add: 1, // 添加权限
        mod: 1, // 修改权限
      },
      "shopAdmin": { // 店铺管理
        add: 1, // 添加权限
        mod: 1, // 修改权限
      },
      "tableAdmin": { // 餐桌管理
        add: 1, // 添加权限
        mod: 1, // 修改权限
      },
    },
    introduction: 'I am an editor',
    avatar: 'https://wpimg.wallstcn.com/f778738c-e4f8-4870-b634-56703b4acafe.gif',
    name: 'Normal Editor'
  }
}

module.exports = [
  // user login
  {
    url: '/dev-api/user/login',
    type: 'post',
    response: (req, res, next) => {
      let username = req.body.username;
      let password = req.body.password;
      if (req.method === 'GET') {
        username = req.query.username;
        password = req.query.password;
      }
      const token = tokens[username]
      console.log('username=', username);
      console.log('password=', password);
      console.log('token=', token);

      // mock error
      if (!token) {
        return {
          code: 60204,
          message: 'Login failed, unable to get user details.',
          data: {},
        }
      }
      return {
        code: 20000,
        message: "登录成功",
        data: {
          token: token.token,
        }
      }
    }
  },
  // get user info
  {
    url: '/dev-api/user/info',
    type: 'get',
    response: (req, res, next) => {
      let token = req.body.token;
      if (req.method === 'GET') {
        token = req.query.token;
      }
      token = 'admin-token'
      console.log('token=', token);
      const info = users[token]
      console.log('info=', info);

      // mock error
      if (!info) {
        return {
          code: 50008,
          message: 'Login failed, unable to get user details.'
        }
      }

      return {
        code: 20000,
        data: info
      }
    }
  },

  // user logout
  {
    url: '/dev-api/user/logout',
    type: 'post',
    response: (req, res, next) => {
      return {
        code: 20000,
        data: 'success'
      }
    }
  }
]
